# info = ["web", "java", "c++"]
# info1 = list()
# print(info[0])
# print(info1)
# info2 = [11, "软件测试", 1.88]
# print(info2)

# 索引
# 根据下标查找元素（下标从0开始，如果没有下标则会报错）
# name_list = ["李四", "张三", "赵六"]
# print(name_list[2])
#
# # 根据元素查找下标
# print(name_list.index("张三"))

# 元素统计 (count)  若没有该元素则统计为0次
# data_list = ["python", "java", "java", "c++", "sql"]
# print(f"'java' 出现了 {data_list.count('java')} 次")
# print(f"'软件测试' 出现了 {data_list.count('软件测试')} 次")

# 末尾增加元素 append 在列表最后添加元素，每次添加一个
# data = ["Web自动化", "UI自动化", "接口自动化"]
# data.append("软件测试")
# data.append(12)
# print(data)

# 指定位置增加元素 insert 根据自己选择的坐标进行插入元素，若没有该下标则默认插入到末尾
# data_list = ["Web自动化", "UI自动化", "接口自动化"]
# data_list.insert(2, "软件测试")
# print(data_list)

# 列表的合并 extend
# list01 = [1, 2, 3, 4, 5, 6]
# list02 = [7, 8, 9, 10, 11]
# list01.extend(list02)  # list01--list02 合并到 list01
# print(list01)
# print(list02)

# 指定索引位置删除 列表名.pop(索引)
# list03 = [1, 2, 3, 4, 5, 6, 1, 1, 2]
# list04 = [7, 8, 9, 10, 11]
# 方式1：
# list03.pop(1)
# list04.pop(4)
# print(f"list03 删除后的数据为 {list03}")
# print(f"list04 删除后的数据为 {list04}")

# 方式2(指定数据删除)： 如果没有该数据则会报错
# list03 = ['1', '2', '3']
# list03.remove("1")
# print(list03)

# 列表元素反转：元素倒置（反转） reverse
# data = [1, 2, 3, 4, 5, 6]  # 数字
# data2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']  # 字符串
# data.reverse()
# data2.reverse()
# print(f"data 反转后的值： {data}")
# print(f"data2 反转后的值： {data2}")

# 排序 sort 小到大
# data = [1, 2, 8, 7, 5, 6, 3, 4]
# data.sort(reverse=False)
# print(data)

# 从大到小排序
# data.sort(reverse=True)
# print(data)

# 列表的嵌套元素获取
student_list = [
    ["张三", "18", "功能测试"], ["李四", "20", "自动化测试"], ["王五", "22", ["python", "java"]]
]
print(f"{student_list[0]}")
a = student_list[0]
print(f"{a[1]}")

print(student_list[0][2])  # 查找功能测试
print(student_list[1][0])  # 李四
